﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using app_Cd.LogicaNegocio;

namespace app_Cd.presentacion
{
    /// <summary>
    /// Interaction logic for modificaUsuario.xaml
    /// </summary>
    public partial class modificaUsuario : Window
    {
        public modificaUsuario()
        {
            InitializeComponent();
        }
        //Variable para almacenar el id del usuario
        int idUs=0;
        private void btn_salir_Click(object sender, RoutedEventArgs e)
        {
            //cierra este formulario y abre el formulario de inicio de administrador
            inicioAdm ia = new inicioAdm();
            ia.usuario(Convert.ToString(lbl_nombre.Content));
            ia.Show();
            this.Close();
        }
        /// <summary>
        /// Permite poner en un label el nombre del usuario que inicio sesión
        /// </summary>
        /// <param name="usuario">Nombre de usuario</param>
        public void usuario(string usuario)
        {
            lbl_nombre.Content = usuario;
        }

        private void btn_buscar_Click(object sender, RoutedEventArgs e)
        {
            //validación de campo vacio
            if (txt_busqueda.Text == "")
            {
                MessageBox.Show("Ingrese una búsqueda", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                //busca usuario
                var user =    admUsuario.BuscaUsuario(txt_busqueda.Text);
                if (user != null)
                {
                    idUs = user.ID_Usuario;
                    txt_nombre.Text = user.Nombre;
                    txt_clave.Text = user.Clave;
                }
                else
                {
                    //No encontro el usuario
                    MessageBox.Show("El Usuario no se encuentra en la base de datos", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    limpiar();
                }
            }
        }
        private void limpiar()
        {
            //limpia los campos del formulario
            txt_busqueda.Clear();
            txt_clave.Clear();
            txt_nombre.Clear();
            idUs = 0;
        }

        private void btn_modificar_Click(object sender, RoutedEventArgs e)
        {
            //Valida que se  haya realizado una busqueda
            if (idUs == 0)
            {
                MessageBox.Show("Debe realizar una busqueda", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else 
            {
                //validación de campo vacio
                if (txt_nombre.Text == "" || txt_clave.Text == "")
                {
                    MessageBox.Show("Faltan datos", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
                else
                {
                    //Envia los campos a actualizar y muestra un mensaje
                    string mensaje = admUsuario.ActualizarUsuario(idUs, txt_nombre.Text, txt_clave.Text);
                    MessageBox.Show(mensaje, "Mensaje", MessageBoxButton.OK, MessageBoxImage.Information);
                    //Cambia el nombre de usuario del que esta en sesión si es el mismo que se modificó
                    if (Convert.ToString(lbl_nombre.Content) == txt_busqueda.Text)
                    {
                        usuario(txt_nombre.Text);
                    }
                    limpiar();
                }
            }
        }
    }
}
